package com.woniuxy.charin.common.ann;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
* 幂等性注解
*/
@Target(ElementType.METHOD) //指定注解可用范围：METHOD表示注解作用于方法上
@Retention(RetentionPolicy.RUNTIME) //指定注解保留时间：RUNTIME表示注解在程序运行期间存在
public @interface Idempotent {
/**
* 幂等校验的有效时间，在此时间范围内需要进行幂等校验，默认20秒
*/
int expire() default 20;
/**
* 时间单位，默认是秒
*/
TimeUnit timeUnit() default TimeUnit.SECONDS;
}